﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CIS.Common.Grpc
{
    public interface IGrpcServer
    {
        //int Port {  get; }
        //bool Connected { get; set; }
        //bool Start();
        //bool Stop();
        //List<ClientInfo> GetClients();
        //ClientInfo GetClient(string id);
        //void Publish(GrpcMessage message);
        Task<GrpcMessage> RequestAsync(string clientName, GrpcMessage message, int timeOut = 3000);
        Func<GrpcMessage, Task> OnDataRecivedAsync { get; set; }
        //Func<GrpcMessage, Task<GrpcMessage>> OnRequestAsync { get; set; }


    }
}
